import { createApp } from 'vue'
// import './style.css'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
//状态管理
import { createPinia } from 'pinia'
//持久化存储
import { createPersistedState } from "pinia-persistedstate-plugin";
import router from './router/index'
import App from './App.vue'
// 引入mock模拟数据的文件
import  "/src/mockData/mock";
//把过滤器放在全局属性上
import {installFilter} from '/src/api/filter.js'

/**
 * 如何在ts文件里引入js文件演例
 * https://blog.csdn.net/z1625000762/article/details/127346324
 * 
 * 引入插件：插件需要有类型声明，通常插件都是
 * 有类型扩展包（根据报错提示安装包），再装上后在node_modules/@types里可以看到
 * 
 * 引入自己的js:要声明自己js里暴露的变量类型，本项目js文件类型声明在typing
 * 文件夹里，typing要配置到tsconfig.json的include里？？
 * 
 * 建议：ts项目里最好就不要有js文件了
 */
import {test1,test2,Test} from "/src/api/test.js";//找不到模块“/src/api/test.js”或其相应的类型声明
import {test1copy,test2copy,Testcopy} from "/src/api/testcopy.js";


const pinia = createPinia()
pinia.use(createPersistedState());

//扩充 store
// pinia.use(({ store }) => {
//     store.hello = 'world999'
//   })
const app = createApp(App)
app.use(ElementPlus)
app.use(pinia)
app.use(router).mount('#app')
installFilter(app)//在vue全局属性注册方法

app.provide("toDoList","Prop 逐级透传问题，使用依赖注入解决")